package com.wxm.dom4j.util;

import com.wxm.dom4j.exception.DOM4JException;
import org.dom4j.Element;

/**
 * <p>
 *      节点工具类
 * </p>
 *
 * @author: wxm
 * @Date: 2021/9/28
 */
public class Dom4jUtils {
    private Dom4jUtils(){}

    /**
     * 获取element对象的text的值
     * @param element 节点的对象
     * @param tag 节点的tag
     * @return String
     */
    public static String getText(Element element, String tag) {
        Element e = element.element(tag);
        if (e != null) return e.getText();
        return null;
    }

    /**
     * 获取去除空格的字符串
     * @param element Element
     * @param tag 要去除空格的子节点
     * @return String
     */
    public static String getTextTrim(Element element, String tag) {
        Element e = element.element(tag);
        if (e != null) return e.getTextTrim();
        return null;
    }

    /**
     * 获取节点值.节点必须不能为空，否则抛错
     * @param parent 父节点
     * @param tag 想要获取的子节点
     * @return 返回子节点
     */
    public static String getTextTrimNotNull(Element parent, String tag) {
        Element e = parent.element(tag);
        if (e == null) DOM4JException.error("节点为空");
        return e.getTextTrim();
    }

    /**
     * 节点必须不能为空，否则抛错
     * @param parent 父节点
     * @param tag 想要获取的子节点
     * @return 子节点
     */
    public static Element elementNotNull(Element parent, String tag) {
        Element e = parent.element(tag);
        if (e == null) DOM4JException.error("节点为空");
        return e;
    }
}
